import { defineConfig, loadEnv } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import Pages from 'vite-plugin-uni-pages'
import UniLayouts from '@uni-helper/vite-plugin-uni-layouts'
import path from 'path'

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // 加载环境变量
  const env = loadEnv(mode, process.cwd())

  return {
    plugins: [UniLayouts(), Pages(), uni()],

    // 配置路径别名
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src')
      }
    },

    // CSS 预处理器配置
    css: {
      preprocessorOptions: {
        scss: {
          api: 'modern-compiler', // 使用现代 Sass API
          silenceDeprecations: ['legacy-js-api', 'import'], // 禁用弃用警告
          additionalData: `@import "${path.resolve(__dirname, 'src/uni.scss')}";`
        }
      }
    },

    // 配置代理（仅 H5 开发环境有效）
    server: {
      proxy: {
        // 代理 /api 请求到后端服务器
        '/api': {
          target: env.VITE_APP_BASE_URL, // 使用环境变量配置后端服务地址
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, '') // 移除 /api 前缀
        }
      }
    }
  }
})
